Conversation
|
Sorry, I am not good for advance coding, but I really appreciate this PR. Please @lpanaf consider to merge it when it ready. |
CMakeLists.txt
Outdated
| cmake_minimum_required(VERSION 3.28) | ||
|
|
||
| project(glomap VERSION 1.0.0) | ||
| project(glomap_gpu VERSION 1.0.0) |
There was a problem hiding this comment.
Let's keep the original project name.
We should add an option to enable/disable CUDA support (similar to how colmap works).
There was a problem hiding this comment.
Hi, I was fixed the naming back to glomap. The commit has the GlobalPositioning.use_gpu and BundleAdjustment.use_gpu options in option_manager.cc
|
Hi @min-hieu-netropy, thank you very much for this pull request. I was checking your code and figured that the min_num_images_gpu_solver for the global positioning step and the bundle adjustment step are set to be 1000, 300. Did you run any experiments to choose this number? If not, I would prefer to keep it consistent with the heuristic number set by COLMAP (50 in this case) |
Hi, I originally put in the colmap number but wanted to experiment with different datasets so I made it 1000 and 300. However feel free to change it. |
|
i added: '--GlobalPositioning.use_gpu 1 to my script. But when running it i get this error: 'I20250318 20:11:45.942935 31020 image_undistorter.cc:20] Undistorting images.. I get this when running 'colmap -h' This when running 'glomap -h' Don't know what i did wrong. I appreciate any form of help. Thx! |
|
Hi, it seems like you're using a ceres version without CUDA support. You can try building ceres (version >= 2.3) from source and try again. |
|
How much VRAM do I approximately need? I was able to run it successfully with 3600 images, but I get an error when I use 6000 or 9000. Is this because I don't have enough VRAM? My VRAM is 16GB. |
|
This exception might also happen even with just 1000 photos. |
|
Do I need to change anything on my code to get GLOMAP + gpu? |
You need to install the latest Ceres (at least 2.3) and install cuDSS. |
* added gpu support * add gpu to bundle adjustment * f * add gpu to global positioning and bundle adjustment * format * change back to original glomap naming * keep consistent between gp and ba * change to the workflow to test cuda as well * add option in cmake whether to use cuda * d * d * d * d * d * change version * keep the minimum_num to be consistent with COLMAP --------- Co-authored-by: Linfei Pan <linpan@student.ethz.ch>
added gpu support to global positioning and bundle adjustment
stats on a 1k image data set with exhaustive matching on RTX4090:
I think the performance gain would be much higher on bigger dataset since the gpu utilization is only ~20% when I run these tests. Also, global positioning seems to benefit the most from GPU usage